	.arch armv8-a
	.arch_extension crc
	.arm
	.text
	.global canJump
	.type canJump , %function
canJump:
	push {r4, r5, r6, r7, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #56
.L82:
	str r0, [fp, #-56]
	str r1, [fp, #-52]
	ldr r10, [fp, #-52]
	cmp r10, #0
	cmp r10, #1
	beq .L85
	b .L93
.L85:
	mov r0, #1
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
	b .L86
.L86:
	ldr r4, [fp, #-56]
	mov r5, #0
	mov r6, #4
	mul r7, r5, r6
	add r5, r4, r7
	ldr r4, [r5]
	ldr r5, [fp, #-52]
	cmp r5, #0
	ldr r6, =2
	sub r7, r5, r6
	cmp r4, r7
	movgt r4, #1
	movlt r4, #0
	bgt .L94
	b .L104
.L88:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L89:
	b .L88
.L93:
	b .L86
.L94:
	mov r0, #1
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
	b .L95
.L95:
	ldr r4, =0
	str r4, [fp, #-8]
	b .L107
.L99:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L100:
	b .L99
.L104:
	b .L95
.L107:
	ldr r4, [fp, #-8]
	cmp r4, #0
	ldr r5, [fp, #-52]
	cmp r5, #0
	ldr r6, =1
	sub r7, r5, r6
	cmp r4, r7
	movlt r4, #1
	movgt r4, #0
	blt .L108
	b .L120
.L108:
	ldr r4, [fp, #-8]
	mov r5, #-48
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =0
	str r4, [r5]
	ldr r4, [fp, #-8]
	ldr r5, =1
	add r6, r4, r5
	str r6, [fp, #-8]
	b .L107
.L109:
	ldr r4, [fp, #-52]
	ldr r5, =1
	sub r6, r4, r5
	mov r4, #-48
	mov r5, #4
	mul r7, r6, r5
	add r5, r4, r7
	add r4, fp, r5
	ldr r5, =1
	str r5, [r4]
	ldr r4, [fp, #-52]
	ldr r5, =2
	sub r6, r4, r5
	str r6, [fp, #-8]
	b .L121
.L111:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L112:
	b .L111
.L115:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L116:
	b .L115
.L120:
	b .L109
.L121:
	ldr r4, [fp, #-8]
	cmp r4, #0
	ldr r5, =0
	ldr r6, =1
	sub r7, r5, r6
	cmp r7, #0
	cmp r4, r7
	movgt r4, #1
	movlt r4, #0
	bgt .L122
	b .L134
.L122:
	ldr r4, [fp, #-56]
	ldr r5, [fp, #-8]
	cmp r5, #0
	mov r6, #4
	mul r7, r5, r6
	add r5, r4, r7
	ldr r4, [r5]
	ldr r5, [fp, #-52]
	cmp r5, #0
	ldr r6, =1
	sub r7, r5, r6
	ldr r5, [fp, #-8]
	cmp r5, #0
	sub r6, r7, r5
	cmp r4, r6
	movlt r4, #1
	movgt r4, #0
	blt .L136
	b .L155
.L123:
	mov r4, #0
	mov r5, #-48
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, [r5]
	mov r0, r4
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L125:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L126:
	b .L125
.L129:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L130:
	b .L129
.L134:
	b .L123
.L136:
	ldr r4, [fp, #-56]
	ldr r5, [fp, #-8]
	mov r6, #4
	mul r7, r5, r6
	add r5, r4, r7
	ldr r4, [r5]
	str r4, [fp, #-4]
	b .L137
.L137:
	b .L158
.L138:
	ldr r4, [fp, #-52]
	ldr r5, =1
	sub r6, r4, r5
	ldr r4, [fp, #-8]
	sub r5, r6, r4
	str r5, [fp, #-4]
	b .L137
.L141:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L142:
	b .L141
.L146:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
	b .F0
.LTORG
.F0:
.L147:
	b .L146
.L150:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L151:
	b .L150
.L155:
	b .L138
.L158:
	ldr r4, [fp, #-4]
	cmp r4, #0
	ldr r5, =0
	ldr r6, =1
	sub r7, r5, r6
	cmp r7, #0
	cmp r4, r7
	movgt r4, #1
	movlt r4, #0
	bgt .L159
	b .L171
.L159:
	ldr r4, [fp, #-8]
	cmp r4, #0
	ldr r5, [fp, #-4]
	cmp r5, #0
	add r6, r4, r5
	mov r4, #-48
	mov r5, #4
	mul r7, r6, r5
	add r5, r4, r7
	add r4, fp, r5
	ldr r5, [r4]
	cmp r5, #0
	bne .L172
	b .L185
.L160:
	ldr r4, [fp, #-8]
	ldr r5, =1
	sub r6, r4, r5
	str r6, [fp, #-8]
	b .L121
.L162:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L163:
	b .L162
.L166:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L167:
	b .L166
.L171:
	b .L160
.L172:
	ldr r4, [fp, #-8]
	mov r5, #-48
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =1
	str r4, [r5]
	b .L173
.L173:
	ldr r4, [fp, #-4]
	ldr r5, =1
	sub r6, r4, r5
	str r6, [fp, #-4]
	b .L158
.L175:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L176:
	b .L175
.L179:
	mov r0, #0
	add sp, sp, #56
	pop {r4, r5, r6, r7, r10, fp, lr}
	bx lr
.L180:
	b .L179
.L185:
	b .L173

	.global main
	.type main , %function
main:
	push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #44
.L187:
	mov r10, #0
	mov r9, #-40
	mov r7, #4
	mul r8, r10, r7
	add r4, r9, r8
	add r5, fp, r4
	ldr r4, =3
	str r4, [r5]
	mov r4, #1
	mov r5, #-40
	mov r7, #4
	mul r6, r4, r7
	add r4, r5, r6
	add r5, fp, r4
	ldr r4, =3
	str r4, [r5]
	mov r4, #2
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =9
	str r4, [r5]
	mov r4, #3
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =0
	str r4, [r5]
	mov r4, #4
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =0
	str r4, [r5]
	mov r4, #5
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =1
	str r4, [r5]
	mov r4, #6
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =1
	str r4, [r5]
	mov r4, #7
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =5
	str r4, [r5]
	mov r4, #8
	mov r5, #-40
	mov r7, #4
	mul r6, r4, r7
	add r4, r5, r6
	add r5, fp, r4
	ldr r4, =7
	str r4, [r5]
	mov r4, #9
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, =8
	str r4, [r5]
	ldr r4, =10
	str r4, [fp, #-44]
	mov r4, #0
	mov r5, #-40
	mov r6, #4
	mul r7, r4, r6
	add r4, r5, r7
	add r5, fp, r4
	ldr r4, [fp, #-44]
	mov r0, r5
	mov r1, r4
	bl canJump
	mov r4, r0
	str r4, [fp, #-44]
	ldr r4, [fp, #-44]
	mov r0, r4
	add sp, sp, #44
	pop {r4, r5, r6, r7, r8, r9, r10, fp, lr}
	bx lr

